home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 September / PCWorld_2008-09_cd.bin / v cisle / sadanastroju / IE7proSetup_2.3.exe / plugins / accuweather / js / findLocation.js
Text File  |  2007-11-20  |  5KB  |  156 lines

  1. 
  2.  
  3. //initialize the findLocation window
  4. function init() {
  5.     var currentSetting=PRO_getValue("weather_Location","");
  6.     if (currentSetting!="") {
  7.       PRO_log(currentSetting);
  8.       arr = currentSetting.split("|");
  9.       if(arr[3])
  10.           envVar.innerText=arr[3];
  11.         else
  12.           envVar.innerText=currentSetting;
  13.     }
  14.     var currentUnit=PRO_getValue("weather_Unit","");
  15.     if (currentUnit!="english") {
  16.       metric.checked = true;    
  17.     }else{
  18.           english.checked = true;    
  19.   }
  20.     var currentDate=PRO_getValue("weather_date_format","");
  21.     if (currentDate=="usdate") {
  22.       usdate.checked = true;    
  23.     }else if (currentDate=="shtusdate"){
  24.       shtusdate.checked = true;    
  25.     }else if (currentDate=="intdate"){
  26.       intdate.checked = true;    
  27.     }else{
  28.           shtintdate.checked = true;    
  29.   }
  30.     var currentUnit=PRO_getValue("weather_city_display","");
  31.     if (currentUnit!="showcity") {
  32.       hidecity.checked = true;    
  33.     }else{
  34.           showcity.checked = true;    
  35.   }
  36.  
  37.     var currentFont=PRO_getValue("weather_font","");
  38.     if (currentFont==1) {
  39.       fontcb.checked = true;    
  40.     }else{
  41.           fontcb.checked = false;    
  42.   }
  43.  
  44.     var currentCity=PRO_getValue("weather_City","");
  45.     var currentState=PRO_getValue("weather_State","");
  46.     if (currentCity!="") {
  47.         CurrentLocation.innerText="Current location saved: " + currentCity + ", " + currentState;
  48.     }else{
  49.         CurrentLocation.innerText="No location saved yet.";
  50.   }
  51.  
  52. }
  53.  
  54. //load the xml data from the website
  55. function loadData() {
  56.     req = PRO_xmlhttpRequest();
  57.     if (req) {
  58.         req.open("GET","http://vwidget.accuweather.com/widget/vista1/locate_city.asp?location=" + envVar.value,true);
  59.         req.onreadystatechange=processData;
  60.         req.send();
  61.     }
  62. }
  63.  
  64. //process data when its received
  65. function processData() {
  66.     if (req.readyState==4) {
  67.         if (req.status==200) {
  68.             parseData(req.responseXML.documentElement);
  69.         }
  70.     }
  71. }
  72.  
  73. //parse the xml data and populate the table with data.
  74. function parseData(xmlData) {
  75.     tempNode=xmlData.getElementsByTagName("./citylist").item(0);
  76.     tempNodes=tempNode.getElementsByTagName('location');
  77.     deleteRows("LocationTable");
  78.     for (count=0;count<tempNodes.length;count++) {
  79.         cityNode=tempNodes[count];
  80.         tempString="<a class=\"link\" href=\"#\" onClick=\"selectLocation('" + cityNode.getAttribute("location") + "');selectLocationState('" + cityNode.getAttribute("state") + "');selectLocationCity('" + cityNode.getAttribute("city") + "');return false;\">+</a>  ";
  81.         tempString1="<a class=\"link\" href=\"#\" onClick=\"selectLocation('" + cityNode.getAttribute("location") + "');selectLocationState('" + cityNode.getAttribute("state") + "');selectLocationCity('" + cityNode.getAttribute("city") + "');return false;\">" + cityNode.getAttribute("city") + ", " + cityNode.getAttribute("state") + "</a>";
  82.         addRow("LocationTable",tempString,tempString1);
  83.     }
  84. //    tempString1 += "<br><br>";
  85.     if (tempNodes.length==0) {
  86.         addRow("LocationTable","Location not found","");
  87.         scrollTableText.innerText="";
  88.     } else {
  89.         scrollTableText.innerText="Click on location to save.";
  90.     }
  91.     with (scrollTableContainer.style) {
  92.         display="block";
  93.     }
  94. }
  95.  
  96. //add a row programatically to a table
  97. function addRow(id,value,text){
  98.     var tbody=document.getElementById(id).getElementsByTagName("tbody")[0];
  99.     var row=document.createElement("TR");
  100.     var cell1=document.createElement("TD");
  101.     cell1.innerHTML=value;
  102.     cell1.style.whiteSpace="nowrap";
  103.     var cell2=document.createElement("TD");
  104.     cell2.innerHTML=text;
  105.     cell2.style.whiteSpace="nowrap";
  106.     row.appendChild(cell1);
  107.     row.appendChild(cell2);
  108.     tbody.appendChild(row);
  109. }
  110.  
  111. //delete a row from a table
  112. function deleteRows(id) {  
  113.     var tbl=document.getElementById(id);
  114.     totalRows=tbl.rows.length;
  115.     for (count=0;count<totalRows;count++) {
  116.         document.getElementById(id).deleteRow(0);
  117.     }
  118. }
  119.  
  120. //if a location is selected save it to the settings and close the flyout
  121. function selectLocation(locationCode) {
  122.     PRO_setValue("weather_Location",locationCode);
  123. //    alert("Location Saved. \rSettings window will now close.");
  124. }
  125. function selectLocationState(locationState) {
  126.     PRO_setValue("weather_State",locationState);
  127.     this.locstate=locationState;
  128. }
  129. function selectLocationCity(locationCity) {
  130.     PRO_setValue("weather_City",locationCity);
  131.     CurrentLocation.innerText="Current location saved: " + locationCity + ", " + locstate;
  132.     var answer = confirm("Location Saved.\rPress 'OK' if done\rPress 'Cancel' to select other options.")
  133.     if (answer)window.close();
  134. }
  135. function selectUnit(Unit) {
  136.     PRO_setValue("weather_Unit",Unit);
  137. //    PRO_log("set weather_Unit " + Unit)
  138.     //alert("Unit Selected. ");
  139. }
  140. function selectDate(Date1) {
  141.     PRO_setValue("weather_date_format",Date1);
  142. //    PRO_log("set weather_date_format " + Date1)
  143. }
  144. function selectCity(City1) {
  145.     PRO_setValue("weather_city_display",City1);
  146. //    PRO_log("set weather_city_display " + City1)
  147. }
  148.  
  149. function selectFont(font1) {
  150. if (fontcb.checked){
  151.     PRO_setValue("weather_font",1);
  152. }else{
  153.     PRO_setValue("weather_font",0);
  154. }
  155. }
  156.